package com.optimatch.model.utils;

import com.optimatch.model.solver.Solution;

public class AffichageUtil {

	public static Object[][] dataResultatsParEquipe(int equipe){
		int columns = 3;
		String[][] data = new String[columns][Solution.getNombreMatchs()];
		String[][] dataInverse = new String[Solution.getNombreMatchs()][columns];
		data[0] = getListeJournee();
		data[1] = Solution.getAllMatchsParEquipeString(equipe);
		data[2] = Solution.getDomicileParEquipeString(equipe);
		for(int i = 0; i < columns ; i++)
			for(int j = 0; j < Solution.getNombreMatchs() ; j++)
				dataInverse[j][i] = data[i][j];
		return dataInverse;
		
	}
	public static Object[][] dataResultatsParJournee(int journee){
		int columns = 3;
		String[][] data = new String[columns][Solution.getNombreEquipes()/2];
		String[][] dataInverse = new String[Solution.getNombreEquipes()/2][columns];
		String[][] equipes = new String[2][Solution.getNombreEquipes()/2];
		String[] listeAllEquipes = Solution.getListeAllEquipes();
		String[] listeEquipesJour = Solution.getAllMatchsParJourneeString(journee);
		int[] homeEquipe = Solution.getDomicileParJournee(journee);
		int temp = 0;
		for(int i = 0 ; i < Solution.getNombreEquipes();i++){
			if(homeEquipe[i] == 1){
			equipes[0][temp] = listeAllEquipes[i];
			equipes[1][temp] = listeEquipesJour[i];
			temp++;
			}
		}
		data[0] = getListeMatchs(Solution.getNombreEquipes()/2);
		data[1] = equipes[0];
		data[2] = equipes[1];
		for(int i = 0; i < columns ; i++)
			for(int j = 0; j < Solution.getNombreEquipes()/2; j++)
				dataInverse[j][i] = data[i][j];
		return dataInverse;
		
	}
	public static String[] getListeJournee(){
		String[] listeJournees = new String[Solution.getNombreMatchs()];
		for(int i = 0 ; i < Solution.getNombreMatchs(); i++){
			listeJournees[i] = "Journée "+(i+1);
		}
		return listeJournees;
	}
	public static String[] getListeMatchs(int matchs){
		String[] listeMatchs = new String[matchs];
		for(int i = 0; i < matchs ; i++){
			listeMatchs[i] = "Match "+ (i+1);
		}
		return listeMatchs;
	}
	public static Object[][] getAllMatchsAffichage(){
		Object[][] data = new Object[Solution.getNombreEquipes()/2][Solution.getNombreMatchs()];
		int[][] home = Solution.getHome();
		String[][] allMatchs = Solution.getStringMatchs();
		int[][] allMatchsInt = Solution.getMatchs();
		int temp = 0;
		for(int j = 0 ; j < Solution.getNombreMatchs();j++){
			for(int i = 0; i < Solution.getNombreEquipes();i++){
				if(home[i][j] == 1){
					data[temp][j] = allMatchs[allMatchsInt[i][j]][j]+" vs " + allMatchs[i][j];
					temp++;
				}
			}
			temp = 0;
		}
		return data;
	}

}
